package prh25.biblioteca.entity.dao.hibernate;

import java.util.List;

import org.hibernate.criterion.Restrictions;

import prh25.biblioteca.entity.Endereco;
import prh25.biblioteca.entity.dao.EnderecoDAO;

/**
 * <p>Hibernate DAO layer for Enderecos</p>
 * <p></p>
 *
 * @author Wilson
 * @see http://code.google.com/p/prh-doc/
 */
public class EnderecoHibernateDAO extends
		AbstractHibernateDAO<Endereco, Integer> implements
		EnderecoDAO {

	/**
	 * Find Endereco by version
	 */
	public List<Endereco> findByVersion(Integer version) {
		return findByCriteria(Restrictions.eq("version", version));
	}
	
	/**
	 * Find Endereco by entityUid
	 */
	public List<Endereco> findByEntityUid(String entityUid) {
		return findByCriteria(Restrictions.eq("uid", entityUid));
	}
	
	/**
	 * Find Endereco by pais
	 */
	public List<Endereco> findByPais(String pais) {
		return findByCriteria(Restrictions.eq("pais", pais));
	}
	
	/**
	 * Find Endereco by estado
	 */
	public List<Endereco> findByEstado(String estado) {
		return findByCriteria(Restrictions.eq("estado", estado));
	}
	
	/**
	 * Find Endereco by cidade
	 */
	public List<Endereco> findByCidade(String cidade) {
		return findByCriteria(Restrictions.eq("cidade", cidade));
	}
	
	/**
	 * Find Endereco by bairro
	 */
	public List<Endereco> findByBairro(String bairro) {
		return findByCriteria(Restrictions.eq("bairro", bairro));
	}
	
	/**
	 * Find Endereco by rua
	 */
	public List<Endereco> findByRua(String rua) {
		return findByCriteria(Restrictions.eq("rua", rua));
	}
	
	/**
	 * Find Endereco by complemento
	 */
	public List<Endereco> findByComplemento(String complemento) {
		return findByCriteria(Restrictions.eq("complemento", complemento));
	}
	
	/**
	 * Find Endereco by telResidencial
	 */
	public List<Endereco> findByTelResidencial(String telResidencial) {
		return findByCriteria(Restrictions.eq("telResidencial", telResidencial));
	}
	
	/**
	 * Find Endereco by telCelular
	 */
	public List<Endereco> findByTelCelular(String telCelular) {
		return findByCriteria(Restrictions.eq("telCelular", telCelular));
	}
	

}
